# 6、找出N以内所有水仙花数，一般性水仙花数是指一个 n位数，它的每个位上的数字的 n次幂之和等于它本身， 约定最大到10位
# 6.1 函数：判断一个数是否是水仙花数。 输入一个数字 输出一个true/false
# 6.2 函数：找一个范围内所有满足要求的数， 输入范围起点、终点, 输出一个列表
# 6.3 要求在6.2 中使用列表表达式完成

def f1(n):
    bw = n // 100
    sw = n // 10 % 10
    gw = n % 10
    if n == bw ** 3 + sw ** 3 + gw ** 3:
        # print(n)
        return True
    else:
        return False

def f3(n):
    bw = n // 100
    sw = n // 10 % 10
    gw = n % 10
    if n == bw ** 3 + sw ** 3 + gw ** 3:
        # print(n)
        return n

def f2(a,b):
    list1 = []
    list2 = [ i for i in range(a,b+1)]
    for x in list2:
        if x==f3(x):
            list1.append(x)
        else:
            continue
    # print(list1)
    # print(list2)
    d = [m for m in list2 if m in list1]
    # print(d)
    return d

n = int(input('请输入数字:'))
print(f1(n))
a,b =map(int,input('输入数字a和b:').split())
print(f2(a,b))

